"use strict";
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var React = require('react');
var electron = require('electron');
var Obj = require('object-assign');
var 基类 = require('./控件基类');
var ipcR = electron.ipcRenderer;
var R控件基类 = (function (_super) {
    __extends(R控件基类, _super);
    function R控件基类(props) {
        var _this = this;
        _super.call(this, props);
        this.基础数据 = {};
        this.标准样式 = {};
        this.经过样式 = {};
        this.点击样式 = {};
        this.禁用样式 = {};
        this.基本事件 = {
            onMouseDown: function (e) {
                e.stopPropagation();
                _this.setState({ 使用样式: Obj({}, _this.标准样式, _this.点击样式) });
            },
            onMouseUp: function (e) {
                e.stopPropagation();
                _this.setState({ 使用样式: Obj({}, _this.标准样式, _this.经过样式) });
            },
            onMouseLeave: function (e) {
                e.stopPropagation();
                _this.setState({ 使用样式: _this.标准样式 });
            },
            onMouseOver: function (e) {
                e.stopPropagation();
                _this.setState({ 使用样式: Obj({}, _this.标准样式, _this.经过样式) });
            }
        };
        this.基础数据 = this.props;
        this.样式 = new 基类.基本样式(this.基础数据);
        this.标准样式 = this.基础数据.自定义样式 ? this.基础数据.自定义样式 : this.样式.取值;
        this.经过样式 = this.基础数据.自定义经过样式 ? this.基础数据.自定义经过样式 : this.样式.取经过样式;
        this.点击样式 = this.基础数据.自定义点击样式 ? this.基础数据.自定义点击样式 : this.样式.取点击样式;
        this.state = {
            使用样式: this.标准样式
        };
        this.禁用样式 = this.基础数据.自定义禁用样式 ? this.基础数据.自定义禁用样式 : Obj({}, this.state.使用样式, this.样式.取禁用样式);
        ipcR.on("\u542F\u7528" + this.基础数据.权限, function () {
            if (_this.state.是否启用 == false) {
                _this.setState({ 是否启用: true });
            }
        });
        ipcR.on("\u7981\u7528" + this.基础数据.权限, function () {
            if (_this.state.是否启用 == true) {
                _this.setState({ 是否启用: false });
            }
        });
    }
    return R控件基类;
}(React.Component));
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = R控件基类;
